controller在mvc架構中扮演相當重要的角色,可寫下各種功能(function),使用models做資料演算,並將response回傳給不同的view,可說是核心的部份。
可以使用php artisan指令幫忙生成controller檔案
php artisan make:controller TodoController --api
這樣就可以生成名為TodoController的controller了
--api :這個參數表示他會在內容中幫你生成restful api 風格的function 我們看看內容
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TodoController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
上面可以看到幾個常用資料庫操作功能,若我要在function index()中將頁面導向首頁
我可以這樣寫
public function index()
{
return view('welcome');
}
然後rote這樣設置:
Route::get('/', 'TodoController@index');
這樣我們在瀏覽器網址打http://127.0.0.1:8000/
就會進入laravel的首頁了,
這就是controller最基本的用法。
今天先講到這邊吧,有關controller更進階的用法,我會在之後的章節中講到的。
參考:https://laravel.com/docs/7.x/controllers
請問一下,您的rote是設定在web.php還是在api.php?
如果是設定在api.php的話,url應該是http://127.0.0.1:8000/api/ 吧?
如果您沒有在web.php把Route給註解掉的話,你上面的步驟會回到laravel首頁是因為web.php的關係,不是api.php的吧?